"""
分数化简

49/98是一个有趣的分数，因为缺乏数学知识的人可能会误认为，等式49/98 = 4/8之所以成立，是因为在分数线上下同时抹除了9的缘故。
如果按照这么理解，则存在诸如30/50 = 3/5这样的平凡解。

这类有趣的分数恰好有四个非平凡的例子，它们的分数值小于1，且分子和分母都是两位数。将这四个分数的乘积写成最简分数，求此时分母的值。
"""

from fractions import Fraction
def del_same_num(m,n): 
    l=[]
    t=0
    for a in m:
        if a not in n and m.count(a)==1:
            t+=1
            l.append(int(a))
    if t==1:
        return l[0]
    else:
        return False

fz=1
fm=1
for i in range(10,100):
    for j in range(i+1,100):
        num=Fraction(i,j)
        if del_same_num(str(i),str(j))!=False and i%10!=0 and j%10!=0:
            a=del_same_num(str(i),str(j))
            b=del_same_num(str(j),str(i))
            if(b!=0):
                if Fraction(a,b)==num:
                    fz*=a
                    fm*=b
                if fm%fz==0:
                    fm=int(fm/fz)
                    fz=1
print(fz,fm)




# def an(li1,li2):#判断去除共同数字后的剩余数字
#     for i in li1:
#         if i not in li2:
#             return int(i)
# def fan(n1,n2):#计算n1,n2约分后n2的值
#     for i in range(1,n1+1):
#         if n1%i==0 and n2%i==0:
#             n1//=i
#             n2//=i
#     return n2
# def anfan(n1,n2):#判断2个数是否有共同的数字
#     a,b=list(str(n1)),list(str(n2))
#     if len(a+b)==len(set(a+b))+1 and '0' not in a and '0' not in b:
#         return True
# def fanan(n1,n2):#判断两个数去除掉共同的数字之后的商和之前商是否相等
#     a,b=list(str(n1)),list(str(n2))
#     c=a+b
#     a1,b1=an(c,b),an(c,a)
#     if n1/n2==a1/b1:
#         return True
# fan_an,an_fan=1,1
# for i in range(10,100):
#     for j in range(i,100):
#         if anfan(i,j) and fanan(i,j):
#             xa,xb=list(str(i)),list(str(j))
#             xc=xa+xb
#             print('%d / %d = %d / %d'%(i, j, an(xc,xb), an(xc,xa)))
#             fan_an*=an(xc,xa)
#             an_fan*=an(xc,xb)
# print(fan(an_fan,fan_an))
# 答案：四个非平凡分数：
# 16 / 64 = 1 / 4
# 19 / 95 = 1 / 5
# 26 / 65 = 2 / 5
# 49 / 98 = 4 / 8
# 分数乘积约分后的分母：100


            

